import type {
  DigitalEmployeeForm,
  DigitalEmployeeQuery,
  DigitalEmployeeVO,
} from './model';

import type { ID, IDS, PageResult } from '#/api/common';

import { commonExport } from '#/api/helper';
import { requestClient } from '#/api/request';

/**
 * 查询数字员工管理列表
 * @param params
 * @returns 数字员工管理列表
 */
export function digitalEmployeeList(params?: DigitalEmployeeQuery) {
  return requestClient.get<PageResult<DigitalEmployeeVO>>(
    '/system/employee/list',
    { params },
  );
}

/**
 * 导出数字员工管理列表
 * @param params
 * @returns 数字员工管理列表
 */
export function digitalEmployeeExport(params?: DigitalEmployeeQuery) {
  return commonExport('/aisys/digitalEmployee/export', params ?? {});
}

/**
 * 查询数字员工管理详情
 * @param id id
 * @returns 数字员工管理详情
 */
export function digitalEmployeeInfo(id: ID) {
  return requestClient.get<DigitalEmployeeVO>(`/system/employee/${id}`);
}

/**
 * 新增数字员工管理
 * @param data
 * @returns void
 */
export function digitalEmployeeAdd(data: DigitalEmployeeForm) {
  return requestClient.postWithMsg<void>('/system/employee', data);
}

/**
 * 更新数字员工管理
 * @param data
 * @returns void
 */
export function digitalEmployeeUpdate(data: DigitalEmployeeForm) {
  return requestClient.putWithMsg<void>('/system/employee', data);
}

/**
 * 删除数字员工管理
 * @param id id
 * @returns void
 */
export function digitalEmployeeRemove(id: ID | IDS) {
  return requestClient.deleteWithMsg<void>(`/system/employee/${id}`);
}
